general technique to solve problems